<?php
	/**
	 * 后台用户管理模型
	 */
	 class AdminModel extends Model{
	 	public $validate = array(
	 	array('adminuser', 'nonull', '用户名不能为空', 2, 3), //用户名不能为空
		array('password', 'nonull', '密码不能为空', 2, 3),  //密码最小长度
		array('adminuser','minlen:5','用户名不能少于5个字符',2,3),	
		array('adminuser','maxlen:12','用户名不能大于12个字符',2,3),
		array('password','minlen:6','密码不能少于6个字符',2,3),
		array('adminuser','maxlen:12','密码不能大于12个字符',2,3),

	);
	//自动完成
	public $auto = array( 
		array('password', 'md5', 'function', 2, 3), //自动将密码加密为md5
		array('reg_time', 'time', 'function', 2, 3), //添加注册时间
		array('last_login_time', 'time', 'function', 2, 3), //添加最后一次登陆时间
		array('last_login_ip', 'ip_get_client', 'function', 2, 3) //添加 最后一次登陆的IP

	);
		/**
	 * 检测后台用户并且登陆
	 */
	public function checkAdminUser() {
		if (!$this -> create())
			return false;
		//复制自动处理的复本
		$data = $this -> data;
		//检测当前用户是否为一个管理员
		$result = $this -> where("adminuser='{$data['adminuser']}' && password='{$data['password']}'") -> find();
		if($result['is_lock']==1){
			$this->error = '对不起您的帐号被锁定';
			return false;
		}
		if ($result) {
			//将查询出来的ID和用户名压入一个数组再返回给控制器
			$userInfo['aid'] = $result['aid'];
			$userInfo['adminuser'] = $result['adminuser'];
			$data['aid'] = $result['aid'];
			//更新这个用户的数据
			$this -> save($data);
			return $userInfo;
		} else {
			$this -> error = '用户名或密码错误';
			return false;
		}
	}
		
		/**
		 * 添加后台用户方法
		 */
		public function addAdmin(){
			if(!$this->create()) return false;
			$data = $this->data;
			//检测用户是否已经存在
			if($this->where("adminuser='{$data['adminuser']}'")->find()){
				$this->error = '用户已经存在请更换';
				return false;
			}else{
				$this->add($data);
				return true;
			}
		}
		
		/**
		 * 更新后台用户
		 */	 
		 public function updateAdminUser(){
		 	if(!$this->create()) return false;
			if($this->save()){
				return true;
			}else{
				$this->error = '修改失败';
				return false;
			}
		 }
		
	}

